package cn.iocoder.yudao.module.cfs.controller.admin.datanbusermonitorinfo.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 联网设备NB类型分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class DataNbUsermonitorinfoPageReqVO extends PageParam {

    @Schema(description = "所属单位")
    private Long companyCode;

    @Schema(description = "设备名称", example = "张三")
    private String monitorName;

    @Schema(description = "monitor_code")
    private String monitorCode;

    @Schema(description = "所属系统(字典fire_system_type)")
    private String system;

    @Schema(description = "设备厂商（字典cfs_data_equipment_manufacturer_type）")
    private String dockCode;

    @Schema(description = "设备类型（关联cfs_data_manufactor_device表device_code字段）")
    private String deviceCode;

    @Schema(description = "设备型号（关联cfs_data_manufactor_device表id字段）", example = "1")
    private String monitorType;

    @Schema(description = "运营商（1中国电信 2中国移动 3中国联通）")
    private String commOperator;

    @Schema(description = "通讯协议（TCP、UDP、HTTP）")
    private String commProtocol;

    @Schema(description = "IMEI")
    private String imei;

    @Schema(description = "iccid", example = "16591")
    private String iccid;

    @Schema(description = "装机日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] installDate;

    @Schema(description = "安装位置")
    private String installAddress;

    @Schema(description = "入网时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] networkDate;

    @Schema(description = "服务到期时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] servicedDate;

    @Schema(description = "运行状态（0正常 1故障 2报警）")
    private String runState;

    @Schema(description = "经度")
    private BigDecimal lng;

    @Schema(description = "纬度")
    private BigDecimal lat;

    @Schema(description = "所属消防网格", example = "25279")
    private Long fireGridId;

    @Schema(description = "监测的设备类型（字典cfs_data_monitor_type）", example = "2")
    private String monitoringType;

    @Schema(description = "对接app_id", example = "15730")
    private String appId;

    @Schema(description = "第三方数据id", example = "18087")
    private String dataId;

    @Schema(description = "状态", example = "1")
    private Integer status;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "创建人")
    private Long createUser;

    @Schema(description = "修改人")
    private Long updateUser;

    @Schema(description = "安装用户类型(关联字典monitor_install_user_type)", example = "1")
    private String installUserType;

}